home *** CD-ROM | disk | FTP | other *** search
- <!--
-
- Cold Fusion Markup Language Initialization File
-
- $Header:$
-
-
-
- META-DATA
-
- The comments in this file contain some meta-data that can be useful in
- the task of keeping the file synchronized with changes in the objects
- it relates to. Generally, "@@" is used to prefix a meta-data element.
-
- The following meta-data elements are defined:
-
- @@ACTION
- - denotes an action that needs to be performed
-
- @@SYNC(object)
- - denotes that the element after the comment needs to be synchronized
- with the specified object. Example: "@@ACTION @@SYNC(cfml.ycc)".
-
- -->
-
-
- <CFMLParserDataDefinition>
-
- <Yacc>
-
- <YaccTableId>IDR_PARSER_YACC_TABLE</YaccTableId>
-
- </Yacc>
-
- <Lex>
-
- <!--
- @@ACTION @@SYNC(cfml.ycc)
-
- This is the map of lexer expression lists (lexical analyzers)
- to their numbers as defined in the cfmlcon.h file. This section
- needs to be synchronized with changes to the cfml.ycc file.
- -->
- <LexExpressionLists><Map>
- <MapItem><Key>HTMLText</Key> <Value>0</Value></MapItem>
- <MapItem><Key>DynamicText</Key> <Value>1</Value></MapItem>
- <MapItem><Key>CFMLComment</Key> <Value>2</Value></MapItem>
- <MapItem><Key>ASPCodeInTag</Key> <Value>3</Value></MapItem>
- <MapItem><Key>AVList</Key> <Value>4</Value></MapItem>
- <MapItem><Key>AttribValue</Key> <Value>5</Value></MapItem>
- <MapItem><Key>CFScriptLex</Key> <Value>6</Value></MapItem>
- <MapItem><Key>DoubleQuotedString</Key><Value>7</Value></MapItem>
- <MapItem><Key>SingleQuotedString</Key><Value>8</Value></MapItem>
- <MapItem><Key>CComment</Key> <Value>9</Value></MapItem>
- <MapItem><Key>CPlusComment</Key> <Value>10</Value></MapItem>
- </Map></LexExpressionLists>
-
- <!--
- This is the map of lexer actions. It is included for readability.
- -->
- <LexActions><Map>
- <MapItem><Key>Noop</Key><Value>0</Value></MapItem>
- <MapItem><Key>Push</Key><Value>1</Value></MapItem>
- <MapItem><Key>Pop</Key> <Value>2</Value></MapItem>
- <MapItem><Key>Goto</Key><Value>4</Value></MapItem>
- </Map></LexActions>
-
- <!--
- Dynamic shifting of lex contexts
-
- The following are descriptions of lexer actions taken at different
- points in the recognition of CF tags.
- The operations are invoked in the lexer's complete() function when a token
- is recognized. Doing the pushing/popping there allows more checking of
- proper tag nesting than doing it via %push/%pop in the grammar description
- file.
- -->
- <!--
- Dynamic shifting of lex contexts for tag insides
-
- This is the data structure that identifies the processing of the
- insides of tags (between < and >). The items consist of regular expressions
- that choose a tag name, lex operations that need to be performed for that tag,
- and the lex expression lists that the operations work on. For operations
- that do not require any expression lists the value is ignored.
- -->
- <TagInsides><Collection>
- <!-- Tags that contain expressions -->
- <Item>
- <RE>(([Cc][Ff])|([Dd][Bb]))(([Ss][Ee][Tt])|([Ii][Ff])|([Ee][Ll][Ss][Ee][Ii][Ff]))</RE>
- <LexOperation>Push</LexOperation>
- <LexExpression>CFScriptLex</LexExpression>
- </Item>
- <!-- All other tags -->
- <Item>
- <RE>(([Cc][Ff])|([Dd][Bb])).*</RE>
- <LexOperation>Push</LexOperation>
- <LexExpression>AVList</LexExpression>
- </Item>
- </Collection></TagInsides>
-
- <!--
- Dynamic shifting of lex contexts after tag ends (>)
-
- This is the data structure that identifies the processing when a
- beginning or ending tag is closed. The items consist of regular expressions that
- choose the tag name ("/" used to distinguish begin/end tags), lex operations that
- need to be performed, and the lex expression lists that the operations work on.
- For operations that do not require any expression lists (only NOOP?) the value is ignored.
- -->
- <AfterTags><Collection>
- <!-- Begin tags that push dynamic text contexts -->
- <!--
- Note: CFQUERY is a special case when it has the SQL= attribute.
- This is handled internally (the context is switched to HTMLText)
- -->
- <Item>
- <RE>(([Cc][Ff])|([Dd][Bb]))(([Mm][Aa][Ii][Ll])|([Oo][Uu][Tt][Pp][Uu][Tt])|([Qq][Uu][Ee][Rr][Yy])|([Rr][Ee][Pp][Oo][Rr][Tt]))</RE>
- <LexOperation>Push</LexOperation>
- <LexExpression>DynamicText</LexExpression>
- </Item>
- <!-- Begin tags that push script/expression lexers -->
- <!-- CFSCRIPT -->
- <Item>
- <RE>([Cc][Ff])([Ss][Cc][Rr][Ii][Pp][Tt])</RE>
- <LexOperation>Push</LexOperation>
- <LexExpression>CFScriptLex</LexExpression>
- </Item>
-
- <!-- End tags that pop dynamic text contexts -->
- <Item>
- <RE>/(([Cc][Ff])|([Dd][Bb]))(([Mm][Aa][Ii][Ll])|([Oo][Uu][Tt][Pp][Uu][Tt])|([Qq][Uu][Ee][Rr][Yy])|([Rr][Ee][Pp][Oo][Rr][Tt]))</RE>
- <LexOperation>Pop</LexOperation>
- <LexExpression>DynamicText</LexExpression>
- </Item>
- <!-- End tags that pop script/expression lexers -->
- <!-- CFSCRIPT -->
- <Item>
- <RE>/([Cc][Ff])([Ss][Cc][Rr][Ii][Pp][Tt])</RE>
- <LexOperation>Pop</LexOperation>
- <LexExpression>CFScriptLex</LexExpression>
- </Item>
- <!-- All other tags -->
- <Item>
- <RE>/?(([Cc][Ff])|([Dd][Bb])).*</RE>
- <LexOperation>Noop</LexOperation>
- <LexExpression>HTMLText</LexExpression><!-- Ignored -->
- </Item>
- </Collection></AfterTags>
-
- <!-- Allowed characters in Cold Fusion tag names (a regular expression) -->
- <AllowedCharactersInTagNames>[A-Za-z0-9_]+</AllowedCharactersInTagNames>
-
- <LexTableId>IDR_PARSER_LEX_TABLE</LexTableId>
-
- <!-- Default initial lex expression -->
- <InitialLexExpression>HTMLText</InitialLexExpression>
-
- </Lex>
-
- </CFMLParserDataDefinition>
-
-